package com.qingfeng.medical.biz.hosp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qingfeng.medical.biz.hosp.domain.dto.HospDepartmentSaveDTO;
import com.qingfeng.medical.biz.hosp.domain.dto.HospDepartmentUpdateDTO;
import com.qingfeng.medical.biz.hosp.domain.dto.HospDepartmentUpdateStatusDTO;
import com.qingfeng.medical.biz.hosp.domain.entity.HospDepartment;
import com.qingfeng.medical.biz.hosp.domain.vo.DepPatientVo;
import com.qingfeng.medical.biz.hosp.domain.vo.HospDepartmentApiVo;
import com.qingfeng.medical.biz.hosp.domain.vo.HospDepartmentVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 科室管理
 *
 * @author 清风学Java
 * @date 2023-04-08 23:43:31
 */
public interface HospDepartmentService extends IService<HospDepartment> {

    /**
     * 科室门诊信息Excel导入
     * @param file
     */
    void importDepartment(MultipartFile file);

    /**
     * 导出科室模板
     * @param response
     */
    void exportTemplate(HttpServletResponse response);

    /**
     * 导出科室门诊信息
     * @param response
     */
    void exportDict(HttpServletResponse response);

    /**
     * 科室-门诊管理列表
     * @param depName
     * @param patientName
     * @return
     */
    List<HospDepartmentVo> hospDepartmentList(String depName, String patientName);

    /**
     * 保存科室信息
     * @param hospDepartmentSaveDTO
     */
    void saveHospDepartment(HospDepartmentSaveDTO hospDepartmentSaveDTO);

    /**
     * 修改科室-门诊信息
     * @param hospDepartmentUpdateDTO
     */
    void updateHospDepartment(HospDepartmentUpdateDTO hospDepartmentUpdateDTO);

    /**
     * 获取科室门诊信息
     * @return
     */
    List<DepPatientVo> findDepPatient();

    /**
     * 修改状态
     *
     * @param hospDepartmentUpdateStatusDTO
     */
    void updateStatus(HospDepartmentUpdateStatusDTO hospDepartmentUpdateStatusDTO);

    /**
     * 前台科室门诊列表
     * @return
     */
    List<HospDepartmentApiVo> hospDepartmentApiList();
}

